/* 整体布局 */
.admin-layout {
  min-height: 100vh;
  background: #f0f2f5;
}

/* 侧边栏 */
.admin-sider {
  background: linear-gradient(180deg, #001529 0%, #002140 100%);
  box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15);
  position: relative;
  z-index: 10;
}

/* Logo区域 */
.admin-logo {
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  background: rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  transition: all 0.3s;
}

.admin-logo .logo-icon {
  font-size: 32px;
  color: #1890ff;
  transition: all 0.3s;
}

.admin-logo .logo-text {
  margin-left: 12px;
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  white-space: nowrap;
  background: linear-gradient(90deg, #1890ff, #40a9ff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* 折叠时的Logo样式 */
.ant-layout-sider-collapsed .admin-logo {
  padding: 0;
}

.ant-layout-sider-collapsed .admin-logo .logo-icon {
  font-size: 24px;
}

/* 菜单样式 */
.admin-menu {
  background: transparent;
  border-right: 0;
  padding: 8px 0;
}

.admin-menu .ant-menu-item,
.admin-menu .ant-menu-submenu-title {
  margin: 4px 8px;
  border-radius: 6px;
  transition: all 0.3s;
}

.admin-menu .ant-menu-item:hover,
.admin-menu .ant-menu-submenu-title:hover {
  background: rgba(255, 255, 255, 0.08) !important;
}

.admin-menu .ant-menu-item-selected {
  background: linear-gradient(90deg, #1890ff, #40a9ff) !important;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}

.admin-menu .ant-menu-item-selected::after {
  border-right: none;
}

/* 子菜单样式 */
.admin-menu .ant-menu-sub {
  background: rgba(0, 0, 0, 0.2);
}

.admin-menu .ant-menu-sub .ant-menu-item {
  padding-left: 48px !important;
  margin: 2px 8px;
}

/* 折叠按钮 */
.sider-trigger {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.05);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  cursor: pointer;
  transition: all 0.3s;
  color: rgba(255, 255, 255, 0.65);
  font-size: 18px;
}

.sider-trigger:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* 头部样式 */
.admin-header {
  background: #fff;
  padding: 0;
  height: 64px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  position: sticky;
  top: 0;
  z-index: 9;
}

.header-content {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
}

.header-left {
  flex: 1;
}

.header-right {
  display: flex;
  align-items: center;
}

/* 头部操作按钮 */
.header-action {
  height: 64px;
  padding: 0 12px;
  cursor: pointer;
  transition: all 0.3s;
  display: flex;
  align-items: center;
}

.header-action:hover {
  background: rgba(0, 0, 0, 0.025);
}

/* 用户信息 */
.header-user {
  display: flex;
  align-items: center;
  cursor: pointer;
  padding: 4px 12px;
  border-radius: 20px;
  transition: all 0.3s;
}

.header-user:hover {
  background: rgba(0, 0, 0, 0.025);
}

/* 通知菜单 */
.notification-menu {
  width: 320px;
  max-height: 400px;
  overflow-y: auto;
}

.notification-menu .ant-dropdown-menu-item {
  padding: 12px 16px;
  min-height: auto;
}

.notification-menu .ant-dropdown-menu-item.unread {
  background: #e6f7ff;
}

/* 内容区域 */
.admin-content {
  margin: 24px;
  min-height: calc(100vh - 112px);
}

.content-wrapper {
  animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 卡片样式优化 */
.ant-card {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s;
}

.ant-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
}

.ant-card-head {
  border-bottom: 1px solid #f0f0f0;
  background: #fafafa;
  border-radius: 8px 8px 0 0;
}

/* 表格样式优化 */
.ant-table {
  border-radius: 8px;
  overflow: hidden;
}

.ant-table-thead > tr > th {
  background: #fafafa;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
  border-bottom: 1px solid #f0f0f0;
}

.ant-table-tbody > tr:hover > td {
  background: #fafafa;
}

/* 按钮样式优化 */
.ant-btn {
  border-radius: 6px;
  transition: all 0.3s;
}

.ant-btn-primary {
  background: linear-gradient(90deg, #1890ff, #40a9ff);
  border: none;
  box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
}

.ant-btn-primary:hover {
  background: linear-gradient(90deg, #40a9ff, #1890ff);
  box-shadow: 0 4px 12px rgba(24, 144, 255, 0.4);
}

/* 标签样式优化 */
.ant-tag {
  border-radius: 4px;
  padding: 0px 4px;
  font-size: 12px;
}

/* 统计卡片样式 */
.ant-statistic-title {
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
  margin-bottom: 8px;
}

.ant-statistic-content {
  font-size: 24px;
  font-weight: 600;
}

/* 表单样式优化 */
.ant-form-item-label > label {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
}

.ant-input,
.ant-input-number,
.ant-select-selector,
.ant-picker {
  border-radius: 6px;
  transition: all 0.3s;
}

.ant-input:hover,
.ant-input-number:hover,
.ant-select-selector:hover,
.ant-picker:hover {
  border-color: #40a9ff;
}

.ant-input:focus,
.ant-input-number:focus,
.ant-select-focused .ant-select-selector,
.ant-picker-focused {
  border-color: #40a9ff;
  box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2);
}

/* 模态框样式优化 */
.ant-modal-header {
  background: #fafafa;
  border-bottom: 1px solid #f0f0f0;
  border-radius: 8px 8px 0 0;
}

.ant-modal-content {
  border-radius: 8px;
  overflow: hidden;
}

/* 面包屑样式 */
.ant-breadcrumb {
  font-size: 14px;
}

.ant-breadcrumb-link {
  color: rgba(0, 0, 0, 0.65);
  transition: color 0.3s;
}

.ant-breadcrumb-link:hover {
  color: #1890ff;
}

/* 响应式设计 */
@media (max-width: 768px) {
  .admin-content {
    margin: 16px;
  }
  
  .header-content {
    padding: 0 16px;
  }
  
  .content-wrapper {
    padding: 16px;
  }
}

/* 滚动条美化 */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 加载动画 */
.ant-spin-nested-loading > div > .ant-spin {
  max-height: none;
}

/* 搜索框样式 */
.ant-input-search-button {
  border-radius: 0 6px 6px 0;
}

/* 分页器样式 */
.ant-pagination {
  margin-top: 16px;
  text-align: right;
}

.ant-pagination-item {
  border-radius: 6px;
  transition: all 0.3s;
}

.ant-pagination-item-active {
  background: #1890ff;
  border-color: #1890ff;
}

.ant-pagination-item-active a {
  color: #fff;
}

/* 时间轴样式 */
.ant-timeline-item-content {
  font-size: 14px;
  color: rgba(0, 0, 0, 0.65);
}

/* 徽标样式 */
.ant-badge-status-dot {
  width: 8px;
  height: 8px;
}

/* 描述列表样式 */
.ant-descriptions-item-label {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  background: #fafafa;
}

/* 提示框样式 */
.ant-alert {
  border-radius: 6px;
}

/* 步骤条样式 */
.ant-steps-item-icon {
  border-radius: 50%;
}

/* 进度条样式 */
.ant-progress-circle .ant-progress-text {
  font-size: 16px;
  font-weight: 600;
}

/* 标签页样式 */
.ant-tabs-tab {
  font-weight: 500;
  transition: all 0.3s;
}

.ant-tabs-tab:hover {
  color: #40a9ff;
}

.ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #1890ff;
  font-weight: 600;
}